import axios from "axios";
import { MessageBox ,Message } from 'element-ui';
import storage from '@/utils/storage'
import Vue from 'vue'
let http = axios.create({
    baseURL:'/api',
    timeout:15000, ////超时设置
    withCredentials:true, ////携带本地平局 

})


////配置全局拦截    对接口的请求进行统一处理
http.interceptors.request.use(config =>{
    ////先获取本地token，然后携带给后端
    let token = storage.get('token')
    config.headers['authorization'] = token
    ////config就是所有的请求配置

    // if(config.data.msg === '登入成功'){
    //     window.loading.close()
    // }
    // console.log(config)
    return config   //!放行   如果不return那么不能真正的将请求发出
})


////配置相应拦截    对错误进行统一处理

http.interceptors.response.use(config =>{
    
    if(!config.data.state && config.config.url !== "/order/query_order_status"){
        MessageBox({
            message:config.data.msg,
            title:'错误提示',
            type:'error'
        })
    }
    if(config.data.code==='10022' || config.data.code==='1004'){
        Message.error('登录过期,请重新登录')
        localStorage.removeItem('token')
        location.reload()
    }   
    // console.log('123123',config);
    return config   //!放行   如果不return axios请求就拿不到响应数据
})


export default http
